package com.recharge.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.recharge.common.result.ResultDO;
import com.recharge.core.entity.ProviderEntity;
import com.recharge.domain.query.ProviderQueryDO;
import com.recharge.domain.vo.ProviderDO;

/**
 * <p>
 * 供应商 服务类
 * </p>
 *
 * @author reagan
 * @since 2020-08-19
 */
public interface ProviderService extends IService<ProviderEntity> {

    public ResultDO add(ProviderDO domain);

    public ResultDO edit(ProviderDO domain, String userName);

    public ResultDO get(String id);

    public ResultDO getByProviderNo(String providerNo);

    public ResultDO remove(String id, String modifier);

    public ResultDO find(ProviderQueryDO domain);

    public ResultDO listAll();

    public ResultDO listCardProviderAll();

    public void initThreshold();

    /**
     * 根据代理商ID筛选出可关联的的供货商
     * @param merchantId
     * @return
     */
    public ResultDO getListByMerchantId(String merchantId);

    /**
     * 重置秘钥
     * @param id
     * @param username
     * @return
     */
    public ResultDO resetSecretKey(String id, String username);
}
